home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / bbbbs85.lha / rexx / bbsSortUsers.rexx < prev    next >
OS/2 REXX Batch file  |  1994-11-13  |  1KB  |  48 lines

  1. /* $VER: bbsSortUsers.rexx 8.3 (13.11.94) */
  2.  
  3. PARSE ARG bbspath bbsname 
  4.  
  5. CR=''
  6. IF ADDRESS()='BAUD' THEN CR='0D'x
  7. def=''
  8. pen3=''
  9. lineup='1B'x'M'
  10. SAY '    Counting Users...'lineup||CR
  11. userlist=SHOWDIR(bbspath'Users')
  12. users=WORDS(userlist)
  13. SAY CENTER(RIGHT(users,8) 'Users on'pen3 bbsname,74)||def||CR
  14. SAY 'Rebuilding Userlist...'CR
  15. sortuserflag=0
  16. user.=''
  17. user.0=users
  18. DO uli=1 TO users
  19.   user.uli=WORD(userlist,uli)
  20.   uscore=LASTPOS('_',user.uli)
  21.   IF uscore>0 THEN user.uli=SUBSTR(user.uli,uscore+1)'@'LEFT(user.uli,uscore-1)
  22. END
  23. IF users>0 THEN CALL QSORT(1,users,user)
  24. DO uli=1 TO users
  25.   uscore=POS('@',user.uli)
  26.   IF uscore>0 THEN user.uli=SUBSTR(user.uli,uscore+1)'_'LEFT(user.uli,uscore-1)
  27. END
  28. ulynes.=''
  29. ulynes.0=user.0%3
  30. IF (user.0//3)>0 THEN ulynes.0=ulynes.0+1
  31. DO i=1 TO ulynes.0
  32.   ulynes.i=LEFT(user.i,25)
  33.   DO j=1 TO 2
  34.     k=i+j*ulynes.0
  35.     IF k<=users THEN ulynes.i=ulynes.i' 'LEFT(user.k,25)
  36.   END
  37. END
  38. IF OPEN(f,bbspath'Lists/USERS','W')~=0 THEN
  39.   DO
  40.     DO i=1 TO ulynes.0
  41.       CALL WRITELN(f,ulynes.i)
  42.     END
  43.     CALL CLOSE(f)
  44.   END
  45. EXIT users
  46.  
  47. /* bbsSortUsers.rexx */
  48.